home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 7 / BBS in a Box - Macintosh - Volume VII (BBS in a Box) (January 1993).iso / Files / Hyper / M-Md / MacUser.cpt / MacUser MiniFinders / card_150374.txt < prev    next >
Text File  |  1990-07-05  |  28KB  |  1,107 lines

  1. -- card: 150374 from stack: in
  2. -- bmap block id: 142733
  3. -- flags: 4000
  4. -- background id: 5323
  5. -- name: FindCard
  6.  
  7.  
  8. -- part 1 (button)
  9. -- low flags: 00
  10. -- high flags: 2001
  11. -- rect: left=16 top=45 right=75 bottom=46
  12. -- title width / last selected line: 0
  13. -- icon id / first selected line: 314 / 314
  14. -- text alignment: 1
  15. -- font id: 0
  16. -- text size: 12
  17. -- style flags: 0
  18. -- line height: 16
  19. -- part name: PopUp
  20. ----- HyperTalk script -----
  21. on mousedown
  22.   doPopUpTOCMenu
  23. end mousedown
  24.  
  25.  
  26.  
  27.  
  28.  
  29. -- part 2 (button)
  30. -- low flags: 00
  31. -- high flags: 2001
  32. -- rect: left=16 top=87 right=117 bottom=46
  33. -- title width / last selected line: 0
  34. -- icon id / first selected line: 1129 / 1129
  35. -- text alignment: 1
  36. -- font id: 0
  37. -- text size: 12
  38. -- style flags: 0
  39. -- line height: 16
  40. -- part name: Next
  41. ----- HyperTalk script -----
  42. on mouseUp
  43.   visual scroll left
  44.   go next cd
  45. end mouseUp
  46.  
  47.  
  48.  
  49. -- part 3 (button)
  50. -- low flags: 00
  51. -- high flags: 2001
  52. -- rect: left=16 top=129 right=159 bottom=46
  53. -- title width / last selected line: 0
  54. -- icon id / first selected line: 1130 / 1130
  55. -- text alignment: 1
  56. -- font id: 0
  57. -- text size: 12
  58. -- style flags: 0
  59. -- line height: 16
  60. -- part name: Previous
  61. ----- HyperTalk script -----
  62. on mouseUp
  63.   visual scroll right
  64.   go prev cd
  65. end mouseUp
  66.  
  67.  
  68.  
  69. -- part 4 (button)
  70. -- low flags: 00
  71. -- high flags: 2001
  72. -- rect: left=16 top=171 right=201 bottom=46
  73. -- title width / last selected line: 0
  74. -- icon id / first selected line: 1131 / 1131
  75. -- text alignment: 1
  76. -- font id: 0
  77. -- text size: 12
  78. -- style flags: 0
  79. -- line height: 16
  80. -- part name: Back
  81. ----- HyperTalk script -----
  82. on mouseUp
  83.   visual effect zoom close
  84.   go to card "Contents"
  85. end mouseUp
  86.  
  87.  
  88.  
  89. -- part 5 (button)
  90. -- low flags: 00
  91. -- high flags: 2001
  92. -- rect: left=16 top=213 right=243 bottom=46
  93. -- title width / last selected line: 0
  94. -- icon id / first selected line: 1895 / 1895
  95. -- text alignment: 1
  96. -- font id: 0
  97. -- text size: 12
  98. -- style flags: 0
  99. -- line height: 16
  100. -- part name: Help
  101. ----- HyperTalk script -----
  102. on mouseUp
  103.   visual effect zoom open
  104.   push card
  105.   go to card "Help Find"
  106. end mouseUp
  107.  
  108.  
  109.  
  110. -- part 6 (button)
  111. -- low flags: 00
  112. -- high flags: 2001
  113. -- rect: left=16 top=255 right=285 bottom=46
  114. -- title width / last selected line: 0
  115. -- icon id / first selected line: 7449 / 7449
  116. -- text alignment: 1
  117. -- font id: 0
  118. -- text size: 12
  119. -- style flags: 0
  120. -- line height: 16
  121. -- part name: Find
  122. ----- HyperTalk script -----
  123. on mouseUp
  124.   answer " You are already here." with "OK"
  125. end mouseUp
  126.  
  127.  
  128.  
  129. -- part 7 (button)
  130. -- low flags: 00
  131. -- high flags: 2001
  132. -- rect: left=16 top=297 right=327 bottom=46
  133. -- title width / last selected line: 0
  134. -- icon id / first selected line: 27267 / 27267
  135. -- text alignment: 1
  136. -- font id: 0
  137. -- text size: 12
  138. -- style flags: 0
  139. -- line height: 16
  140. -- part name: Quit
  141. ----- HyperTalk script -----
  142. on mouseUp
  143.   answer "Do you want to Quit or go Home?" with "Quit" or "Home" or "Cancel"
  144.   if it is "Cancel" then exit mouseUp
  145.   if it is "Quit" then
  146.     DoMenu "Quit Hypercard"
  147.   else go home
  148. end mouseUp
  149.  
  150.  
  151.  
  152. -- part 8 (field)
  153. -- low flags: 02
  154. -- high flags: 4000
  155. -- rect: left=209 top=55 right=73 bottom=501
  156. -- title width / last selected line: 0
  157. -- icon id / first selected line: 0 / 0
  158. -- text alignment: 0
  159. -- font id: 136
  160. -- text size: 12
  161. -- style flags: 0
  162. -- line height: 16
  163. -- part name: ProductName
  164.  
  165.  
  166. -- part 17 (field)
  167. -- low flags: 02
  168. -- high flags: 4000
  169. -- rect: left=209 top=99 right=117 bottom=501
  170. -- title width / last selected line: 0
  171. -- icon id / first selected line: 0 / 0
  172. -- text alignment: 0
  173. -- font id: 136
  174. -- text size: 12
  175. -- style flags: 0
  176. -- line height: 16
  177. -- part name: CompanyName
  178.  
  179.  
  180. -- part 18 (field)
  181. -- low flags: 02
  182. -- high flags: 4000
  183. -- rect: left=399 top=121 right=140 bottom=417
  184. -- title width / last selected line: 0
  185. -- icon id / first selected line: 0 / 0
  186. -- text alignment: 0
  187. -- font id: 136
  188. -- text size: 12
  189. -- style flags: 0
  190. -- line height: 16
  191. -- part name: mouseRating
  192. ----- HyperTalk script -----
  193. -- do some Data Validation to prevent bad mouse values:
  194.  
  195. on closeField
  196.   if me = "" then exit closeField
  197.   if posNumber(me) is false then
  198.     answer "Please use Mouse Ratings between 0 and 5."
  199.     select text of me
  200.     exit closeField
  201.   end if
  202.   if me > 5 then
  203.     answer "Please use Mouse Ratings between 0 and 5."
  204.     select text of me
  205.     exit closeField
  206.   end if
  207. end closeField
  208.  
  209. -- determines if number is a positive number or not
  210.  
  211. function posNumber anyString
  212. put "0123456789." into theDigits
  213. put char 1 of anyString into signDigit
  214. if not (theDigits contains signDigit) AND (signDigit ‚↠"+") then return FALSE
  215. put false into hitOnce
  216. repeat with ndx = 2 to length(anyString)
  217.   if char ndx of anyString = "."  and hitOnce is true then return FALSE
  218.   if not (theDigits contains char ndx of anyString) then return FALSE
  219.   if char ndx of anyString = "." then put true into hitOnce
  220. end repeat
  221. return TRUE
  222. end posNumber
  223.  
  224.  
  225.  
  226. -- part 9 (field)
  227. -- low flags: 02
  228. -- high flags: 4000
  229. -- rect: left=209 top=143 right=161 bottom=501
  230. -- title width / last selected line: 0
  231. -- icon id / first selected line: 0 / 0
  232. -- text alignment: 0
  233. -- font id: 136
  234. -- text size: 12
  235. -- style flags: 0
  236. -- line height: 16
  237. -- part name: wordsAnywhere
  238.  
  239.  
  240. -- part 10 (button)
  241. -- low flags: 00
  242. -- high flags: A002
  243. -- rect: left=95 top=172 right=193 bottom=201
  244. -- title width / last selected line: 0
  245. -- icon id / first selected line: 0 / 0
  246. -- text alignment: 0
  247. -- font id: 132
  248. -- text size: 18
  249. -- style flags: 0
  250. -- line height: 24
  251. -- part name: > Find First
  252. ----- HyperTalk script -----
  253. on mouseUp
  254.  
  255.   -- create query out of filled in fields
  256.   put formattedQuery() into theQuery
  257.  
  258.   -- find first non-empty item in theQuery ;
  259.   -- rest are checks to see if other fields contain the rest of the items
  260.   -- we are looking for (if field xxx contains yyy)
  261.  
  262.   put findWhatWhere(theQuery) into findCommand
  263.  
  264.   -- user wants only a mouse value only for no particular category
  265.   if findCommand = "" and item 6 of theQuery ‚↠"" then
  266.     if item 6 of theQuery < 0 then exit mouseUp
  267.     if item 6 of theQuery > 5 then exit mouseUp
  268.     if item 6 of theQuery = "5" and item 5 of theQuery = ">" then exit mouseUp
  269.     lock screen
  270.     set cursor to watch
  271.     go cd 1 of bg data
  272.     if item 5 of theQuery = "=" then
  273.       put "find whole" && quote & item 6 of theQuery & quote &&  "in fld numericMice" into findCommand
  274.       do findCommand
  275.       if the result is "not found" then
  276.         go cd findCard
  277.         unlock screen
  278.         exit mouseUp -- no find for mice values not in the stack (>5)
  279.       else
  280.         unlock screen with visual effect zoom open
  281.         exit mouseUp
  282.       end if
  283.     end if
  284.     repeat
  285.       go next cd
  286.       if  mouse√áheck(theQuery) = "true" then exit repeat
  287.     end repeat
  288.     exit mouseUp -- (mission accomplished)
  289.   end if
  290.  
  291.  
  292.   if findCommand = "" then exit mouseUp
  293.  
  294.   lock screen
  295.   set cursor to watch
  296.  
  297.   -- first do an initial find to
  298.   -- create a starting Point and check whether a find will
  299.   -- come up with anything at all
  300.  
  301.   go bg data
  302.   do findCommand
  303.   if the result is "not found" then
  304.     go cd findCard
  305.     exit mouseUp
  306.   end if
  307.   put the short id of this cd into startPoint
  308.  
  309.   repeat
  310.     put otherChecks (theQuery) & "," & mouse√áheck(theQuery)into aMatch
  311.     if aMatch = "true,true" then exit repeat
  312.     go next card
  313.     do FindCommand
  314.     if the short id of this cd = startPoint then
  315.       go cd findCard
  316.       exit mouseUp
  317.     end if
  318.     if the short name of this bg ‚↠"data" then
  319.       go cd findCard
  320.       exit mouseUp
  321.     end if
  322.   end repeat
  323.   unlock screen with visual effect zoom open
  324. end mouseUp
  325.  
  326.  
  327.  
  328. -- part 12 (button)
  329. -- low flags: 00
  330. -- high flags: A003
  331. -- rect: left=222 top=171 right=195 bottom=349
  332. -- title width / last selected line: 0
  333. -- icon id / first selected line: 0 / 0
  334. -- text alignment: 0
  335. -- font id: 132
  336. -- text size: 18
  337. -- style flags: 0
  338. -- line height: 24
  339. -- part name:         Build List
  340. ----- HyperTalk script -----
  341. on mouseUp
  342.  
  343.   -- create query out of filled in fields
  344.   put formattedQuery() into theQuery
  345.  
  346.   -- theQuery is now a list of items:
  347.   -- Product,Company Name,Subject,words Anywhere,‚â•,no. of mice
  348.  
  349.   -- the lowest number in findOrder is always a find;
  350.   -- rest are checks to see if other fields contain the values
  351.   -- we are looking for (if field xxx contains yyy)
  352.  
  353.   put findWhatWhere(theQuery) into findCommand
  354.  
  355.   -- if no category, no find string, and no mouse rating,
  356.   -- we are looking for nothing (!)
  357.   if findCommand = "" AND item 6 of theQuery = "" then
  358.     answer "Fill in fields, category, or mouse rating."
  359.     exit mouseUp
  360.   end if
  361.   -- get everything ready to go
  362.   startProgress
  363.   set cursor to watch
  364.   put empty into cd fld listOfFinds
  365.   put empty into cd fld listOfIds
  366.   put true into alltheWay
  367.   put the number of cds in bg data into total
  368.   put progressRect() into pRect
  369.   lock screen
  370.   show cd fld listOfFinds
  371.   hide cd btn mask1
  372.  
  373.   if findCommand = ""  then -- we are definitely looking for mouse nos
  374.     if item 5 of theQuery = "=" then
  375.       doMiceFind theQuery
  376.       exit mouseUp
  377.     else
  378.       doLogicMiceFind theQuery
  379.       exit mouseUp
  380.     end if
  381.   else
  382.  
  383.     -- we are doing a 'normal' find
  384.  
  385.     if findCommand = "" then exit mouseUp --shouldn't have made it here
  386.     go bg data
  387.     -- make a first pass to determine a first find (if any)
  388.  
  389.  
  390.     do findCommand
  391.     if the result is "not found" then
  392.       go cd findCard
  393.       hide cd fld listOfFinds
  394.       show cd btn mask1
  395.       colorRectProgress pRect,total,total,blue
  396.       doExit
  397.     end if
  398.  
  399.     -- there is at least 1 hit
  400.  
  401.     put the number of this cd into startPoint -- this will be first hit
  402.  
  403.     -- here is the 'meat' of the script...
  404.     repeat
  405.       if the short name of this bg ‚↠"data" then
  406.         exit repeat
  407.       end if
  408.       put otherChecks (theQuery) & ","& mouse√áheck(theQuery)into aMatch
  409.  
  410.       if aMatch = "true,true" then
  411.         put the number of this card into foundCard
  412.  
  413.         put line 1 of fld "Product" & padLeft(fld numericMice,(52 - number of characters in line 1 of fld "Product")) && "mice" & return after cd fld listOfFinds of card FindCard
  414.         put foundCard & return after cd fld listOfIds of cd FindCard
  415.         put foundCard into ndx
  416.         colorRectProgress pRect,ndx,total,blue
  417.       end if
  418.       if the mouseClick then
  419.         if abortSearch() is true then
  420.           go to card FindCard
  421.           put false into alltheWay
  422.           exit repeat
  423.         end if
  424.       end if
  425.       go next card
  426.       do FindCommand
  427.       if the number of this card = startPoint then
  428.         exit repeat
  429.       end if
  430.       if the short name of this bg ‚↠"data" then
  431.         exit repeat
  432.       end if
  433.     end repeat
  434.     if alltheWay is true then
  435.       colorRectProgress pRect,total,total,blue
  436.     end if
  437.     go card FindCard
  438.   end if
  439.   doExit
  440. end mouseUp
  441.  
  442. -- special case:
  443. -- search for mouse ratings in any category
  444.  
  445. on doMiceFind  theQuery
  446.   put the number of cards in bg data into total
  447.   put progressRect() into pRect
  448.   put true into alltheWay
  449.   go cd 1 of bg data
  450.   put "find whole" && quote & item 6 of theQuery & quote &&  "in fld numericMice" into findCommand
  451.   do findCommand
  452.   if the result is "not found" then
  453.     go cd findCard
  454.     hide cd fld listOfFinds
  455.     show cd btn mask1
  456.     colorRectProgress pRect,total,total,blue
  457.     exit doMiceFind
  458.   end if
  459.   repeat
  460.     do findCommand
  461.     if the short name of this bg ‚↠"data" then exit repeat
  462.     put the number of this card into foundCard
  463.     if cd fld listOfIds of cd findCard contains foundCard & return then
  464.       exit repeat
  465.     end if
  466.     put line 1 of fld "Product" & padLeft(fld numericMice,(52 - number of characters in line 1 of fld "Product")) && "mice" & return after cd fld listOfFinds of card FindCard
  467.     put foundCard & return after cd fld listOfIds of cd FindCard
  468.     put foundCard into ndx
  469.     colorRectProgress pRect,ndx,total,blue
  470.     if the mouseClick then
  471.       if abortSearch() is true then
  472.         go to card FindCard
  473.         put false into alltheWay
  474.         exit repeat
  475.       end if
  476.     end if
  477.     next repeat
  478.   end repeat
  479.   if alltheWay is true then
  480.     colorRectProgress pRect,total,total,blue
  481.   end if
  482.   go card FindCard
  483.   doExit
  484. end doMiceFind
  485.  
  486. -- special case 2 (slowest possible 'find'):
  487. -- go to all cards and check for mouse values that meet criteria
  488.  
  489. on doLogicMiceFind theQuery
  490.   put true into alltheWay
  491.   put the number of cds in bg data into total
  492.   put progressRect() into pRect
  493.   repeat with i = 1 to the number of cds in bg data
  494.     colorRectProgress pRect,i,total,blue
  495.     go cd i of bg data
  496.     if  mouse√áheck(theQuery) = "true" then
  497.       put the number of this cd into foundCard
  498.       put line 1 of fld "Product" & padLeft(fld numericMice,(52 - number of characters in line 1 of fld "Product")) && "mice" & return after cd fld listOfFinds of card FindCard
  499.       put foundCard & return after cd fld listOfIds of cd FindCard
  500.     end if
  501.     if the mouseClick then
  502.       if abortSearch() is true then
  503.         go to card FindCard
  504.         put false into alltheWay
  505.         exit repeat
  506.       end if
  507.     end if
  508.   end repeat
  509.   if alltheWay is true then
  510.     colorRectProgress pRect,total,total,blue
  511.   end if
  512.   go card FindCard
  513.   progressOver
  514.   set the scroll of cd fld listOfFinds to 0
  515.   unlock screen
  516. end doLogicMiceFind
  517.  
  518. on doExit
  519.   progressOver
  520.   set the scroll of cd fld listOfFinds to 0
  521.   unlock screen
  522. end doExit
  523.  
  524.  
  525.  
  526. -- part 13 (field)
  527. -- low flags: 01
  528. -- high flags: 4007
  529. -- rect: left=103 top=220 right=330 bottom=500
  530. -- title width / last selected line: 0
  531. -- icon id / first selected line: 0 / 0
  532. -- text alignment: 0
  533. -- font id: 4
  534. -- text size: 9
  535. -- style flags: 0
  536. -- line height: 12
  537. -- part name: listOfFinds
  538. ----- HyperTalk script -----
  539. on mouseUp
  540.   global whichName
  541.   if the commandKey is down then
  542.     put empty into me
  543.     put empty into cd fld ListOfIds
  544.     exit mouseUp
  545.   end if
  546.   visual effect zoom open
  547.   wait 10 ticks
  548.   go cd whichName
  549. end mouseUp
  550.  
  551. on mouseDown
  552.   global whichName
  553.   put line clickLine() of cd fld listOfIds into whichName
  554.   selectLine clickLine(),short name of me
  555. end mouseDown
  556.  
  557. on selectLine aLineNumber,fldName
  558.   put line aLineNumber of cd fld fldName into choice
  559.   if choice ‚↠empty then
  560.     get offset(return & choice,cd fld fldName) + 1
  561.     -- include the carriage return
  562.     select char it to length(choice) + it of cd fld fldName
  563.   else
  564.     select empty
  565.   end if
  566. end selectLine
  567.  
  568.  
  569.  
  570.  
  571. -- part 20 (field)
  572. -- low flags: 81
  573. -- high flags: 0000
  574. -- rect: left=333 top=152 right=171 bottom=359
  575. -- title width / last selected line: 0
  576. -- icon id / first selected line: 0 / 0
  577. -- text alignment: 0
  578. -- font id: 3
  579. -- text size: 12
  580. -- style flags: 0
  581. -- line height: 16
  582. -- part name: mouseLogic
  583.  
  584.  
  585. -- part 21 (button)
  586. -- low flags: 00
  587. -- high flags: A004
  588. -- rect: left=210 top=78 right=95 bottom=379
  589. -- title width / last selected line: 0
  590. -- icon id / first selected line: 0 / 0
  591. -- text alignment: 0
  592. -- font id: 0
  593. -- text size: 12
  594. -- style flags: 0
  595. -- line height: 16
  596. -- part name: Any
  597. ----- HyperTalk script -----
  598. on mouseDown
  599.   GLOBAL TOCMenu
  600.   set cursor to arrow
  601.   put TOCMenu into theMenuItems
  602.   delete item 1 to 2 of theMenuItems
  603.   put "Any,- )," before theMenuItems
  604.   put itemOffset (the short name of me,theMenuItems) into menuOffset
  605.   get PopUpMenu (theMenuItems, menuOffset,left of me,top of me)
  606.   if it = 0 then exit mouseDown
  607.   if it = 2 then exit mouseDown
  608.   set the name of me to item it of theMenuItems
  609. end mouseDown
  610.  
  611.  
  612. function itemOffset searchString,aString
  613. return number of items of char 1 to offset(searchString,aString) of aString
  614. end itemOffset
  615.  
  616.  
  617. -- part 25 (button)
  618. -- low flags: 00
  619. -- high flags: A003
  620. -- rect: left=365 top=171 right=195 bottom=491
  621. -- title width / last selected line: 0
  622. -- icon id / first selected line: 0 / 0
  623. -- text alignment: 0
  624. -- font id: 132
  625. -- text size: 18
  626. -- style flags: 0
  627. -- line height: 24
  628. -- part name:    Reset Search
  629. ----- HyperTalk script -----
  630. on mouseUp
  631.   put "ProgressField,mouseLogic,logicMenuOffset,labels,mouseLabel,click on" into dontTouch
  632.   if permission("clear everything") is "Cancel" then
  633.     exit mouseUp
  634.   end if
  635.   repeat with i = 1 to the number of cd flds
  636.     if the short name of cd fld i is not in dontTouch then
  637.       put empty into cd fld i
  638.     end if
  639.   end repeat
  640.   set the name of cd btn id 21 to Any
  641.   hide cd fld listOfFinds
  642.   show cd btn mask1
  643. end mouseUp
  644.  
  645.  
  646.  
  647.  
  648. -- part 27 (field)
  649. -- low flags: 80
  650. -- high flags: 2007
  651. -- rect: left=76 top=194 right=275 bottom=504
  652. -- title width / last selected line: 0
  653. -- icon id / first selected line: 0 / 0
  654. -- text alignment: 0
  655. -- font id: 4
  656. -- text size: 9
  657. -- style flags: 0
  658. -- line height: 12
  659. -- part name: listOfIDs
  660.  
  661.  
  662. -- part 28 (button)
  663. -- low flags: 00
  664. -- high flags: A004
  665. -- rect: left=210 top=122 right=139 bottom=392
  666. -- title width / last selected line: 0
  667. -- icon id / first selected line: 0 / 0
  668. -- text alignment: 0
  669. -- font id: 0
  670. -- text size: 12
  671. -- style flags: 0
  672. -- line height: 16
  673. -- part name: Greater than or equal to
  674. ----- HyperTalk script -----
  675. on mouseDown
  676.   set cursor to arrow
  677.   put "Less than,Less than or equal to,Equal to,Greater than or equal to,Greater than" into theMenuItems
  678.   put cd fld logicMenuOffset into menuOffset
  679.   get PopUpMenu (theMenuItems, menuOffset,left of me,top of me)
  680.   if it = 0 then exit mouseDown
  681.   set the name of me to item it of theMenuItems
  682.   if the short name of me = "Less than" then
  683.     put "<" into cd fld mouseLogic
  684.   end if
  685.   if the short name of me = "Less than or equal to" then
  686.     put "‚â§" into cd fld mouseLogic
  687.   end if
  688.   if the short name of me = "Equal to" then
  689.     put "=" into cd fld mouseLogic
  690.   end if
  691.   if the short name of me = "Greater than or equal to" then
  692.     put "‚â•" into cd fld mouseLogic
  693.   end if
  694.   if the short name of me = "Greater than" then
  695.     put ">" into cd fld mouseLogic
  696.   end if
  697.   put it into cd fld logicMenuOffset
  698. end mouseDown
  699.  
  700.  
  701.  
  702. function itemOffset searchString,aString
  703. return number of items of char 1 to offset(searchString,aString) of aString
  704. end itemOffset
  705.  
  706.  
  707. -- part 24 (button)
  708. -- low flags: 80
  709. -- high flags: 0004
  710. -- rect: left=179 top=242 right=306 bottom=396
  711. -- title width / last selected line: 0
  712. -- icon id / first selected line: 0 / 0
  713. -- text alignment: 1
  714. -- font id: 0
  715. -- text size: 12
  716. -- style flags: 0
  717. -- line height: 16
  718. -- part name: progressPad
  719.  
  720.  
  721. -- part 22 (field)
  722. -- low flags: 81
  723. -- high flags: 0000
  724. -- rect: left=187 top=246 right=299 bottom=386
  725. -- title width / last selected line: 0
  726. -- icon id / first selected line: 0 / 0
  727. -- text alignment: 0
  728. -- font id: 198
  729. -- text size: 12
  730. -- style flags: 0
  731. -- line height: 17
  732. -- part name: progressField
  733.  
  734.  
  735. -- part 23 (button)
  736. -- low flags: 80
  737. -- high flags: 0002
  738. -- rect: left=189 top=267 right=279 bottom=384
  739. -- title width / last selected line: 0
  740. -- icon id / first selected line: 0 / 0
  741. -- text alignment: 1
  742. -- font id: 0
  743. -- text size: 12
  744. -- style flags: 0
  745. -- line height: 16
  746. -- part name: bar
  747.  
  748.  
  749. -- part 33 (field)
  750. -- low flags: 81
  751. -- high flags: 0000
  752. -- rect: left=361 top=152 right=171 bottom=387
  753. -- title width / last selected line: 0
  754. -- icon id / first selected line: 0 / 0
  755. -- text alignment: 0
  756. -- font id: 3
  757. -- text size: 12
  758. -- style flags: 0
  759. -- line height: 16
  760. -- part name: LogicMenuOffset
  761.  
  762.  
  763. -- part 38 (field)
  764. -- low flags: 01
  765. -- high flags: 0000
  766. -- rect: left=99 top=50 right=164 bottom=210
  767. -- title width / last selected line: 0
  768. -- icon id / first selected line: 0 / 0
  769. -- text alignment: 0
  770. -- font id: 198
  771. -- text size: 12
  772. -- style flags: 0
  773. -- line height: 22
  774. -- part name: labels
  775.  
  776.  
  777. -- part 41 (field)
  778. -- low flags: 03
  779. -- high flags: 0000
  780. -- rect: left=416 top=121 right=140 bottom=466
  781. -- title width / last selected line: 0
  782. -- icon id / first selected line: 0 / 0
  783. -- text alignment: 0
  784. -- font id: 136
  785. -- text size: 12
  786. -- style flags: 0
  787. -- line height: 16
  788. -- part name: mouseLabel
  789.  
  790.  
  791. -- part 42 (field)
  792. -- low flags: 01
  793. -- high flags: 0000
  794. -- rect: left=99 top=202 right=221 bottom=386
  795. -- title width / last selected line: 0
  796. -- icon id / first selected line: 0 / 0
  797. -- text alignment: 0
  798. -- font id: 136
  799. -- text size: 12
  800. -- style flags: 0
  801. -- line height: 16
  802. -- part name: Click on
  803.  
  804.  
  805. -- part 19 (button)
  806. -- low flags: 80
  807. -- high flags: 0001
  808. -- rect: left=99 top=201 right=222 bottom=375
  809. -- title width / last selected line: 0
  810. -- icon id / first selected line: 0 / 0
  811. -- text alignment: 1
  812. -- font id: 0
  813. -- text size: 12
  814. -- style flags: 0
  815. -- line height: 16
  816. -- part name: mask1
  817.  
  818.  
  819. -- part 44 (button)
  820. -- low flags: 00
  821. -- high flags: A003
  822. -- rect: left=79 top=170 right=194 bottom=205
  823. -- title width / last selected line: 0
  824. -- icon id / first selected line: 0 / 0
  825. -- text alignment: 0
  826. -- font id: 132
  827. -- text size: 18
  828. -- style flags: 0
  829. -- line height: 24
  830. -- part name:       Find First
  831. ----- HyperTalk script -----
  832. on mouseUp
  833.  
  834.   -- create query out of filled in fields
  835.   put formattedQuery() into theQuery
  836.  
  837.   -- find first non-empty item in theQuery ;
  838.   -- rest are checks to see if other fields contain the rest of the items
  839.   -- we are looking for (if field xxx contains yyy)
  840.  
  841.   put findWhatWhere(theQuery) into findCommand
  842.  
  843.   -- user wants only a mouse value only for no particular category
  844.   if findCommand = "" and item 6 of theQuery ‚↠"" then
  845.     if item 6 of theQuery < 0 then exit mouseUp
  846.     if item 6 of theQuery > 5 then exit mouseUp
  847.     if item 6 of theQuery = "5" and item 5 of theQuery = ">" then exit mouseUp
  848.     lock screen
  849.     set cursor to watch
  850.     go cd 1 of bg data
  851.     if item 5 of theQuery = "=" then
  852.       put "find whole" && quote & item 6 of theQuery & quote &&  "in fld numericMice" into findCommand
  853.       do findCommand
  854.       if the result is "not found" then
  855.         go cd findCard
  856.         unlock screen
  857.         exit mouseUp -- no find for mice values not in the stack (>5)
  858.       else
  859.         unlock screen with visual effect zoom open
  860.         exit mouseUp
  861.       end if
  862.     end if
  863.     repeat
  864.       go next cd
  865.       if  mouse√áheck(theQuery) = "true" then exit repeat
  866.     end repeat
  867.     exit mouseUp -- (mission accomplished)
  868.   end if
  869.  
  870.  
  871.   if findCommand = "" then exit mouseUp
  872.  
  873.   lock screen
  874.   set cursor to watch
  875.  
  876.   -- first do an initial find to
  877.   -- create a starting Point and check whether a find will
  878.   -- come up with anything at all
  879.  
  880.   go bg data
  881.   do findCommand
  882.   if the result is "not found" then
  883.     go cd findCard
  884.     exit mouseUp
  885.   end if
  886.   put the short id of this cd into startPoint
  887.  
  888.   repeat
  889.     put otherChecks (theQuery) & "," & mouse√áheck(theQuery)into aMatch
  890.     if aMatch = "true,true" then exit repeat
  891.     go next card
  892.     do FindCommand
  893.     if the short id of this cd = startPoint then
  894.       go cd findCard
  895.       exit mouseUp
  896.     end if
  897.     if the short name of this bg ‚↠"data" then
  898.       go cd findCard
  899.       exit mouseUp
  900.     end if
  901.   end repeat
  902.   unlock screen with visual effect zoom open
  903. end mouseUp
  904.  
  905.  
  906.  
  907. -- part contents for card part 22
  908. ----- text -----
  909. Progress:
  910.  
  911. Click the mouse to stop search
  912.  
  913. -- part contents for card part 20
  914. ----- text -----
  915. ‚â•
  916.  
  917. -- part contents for card part 33
  918. ----- text -----
  919. 4
  920.  
  921. -- part contents for background part 2
  922. ----- text -----
  923. IND
  924.  
  925. -- part contents for card part 38
  926. ----- text -----
  927. Product:
  928. Category:
  929. Company name:
  930. Mouse rating:
  931. Words anywhere:
  932.  
  933. -- part contents for card part 41
  934. ----- text -----
  935. mice
  936.  
  937. -- part contents for background part 5
  938. ----- text -----
  939. Push the Reset button to start a new search.
  940.  
  941. -- part contents for card part 42
  942. ----- text -----
  943. Click on a product to go to the card.
  944.  
  945. -- part contents for card part 9
  946. ----- text -----
  947. Eddy
  948.  
  949. -- part contents for card part 13
  950. ----- text -----
  951. DaynaFile                                          5 mice
  952. PhoneNET                                           5 mice
  953. TOPS                                             4.5 mice
  954. InBox                                              4 mice
  955. Liaison                                            5 mice
  956. MicroPhone II                                    4.5 mice
  957. NetWare for Macintosh                              3 mice
  958. Smartcom II                                        5 mice
  959. 4th Dimension                                      5 mice
  960. FoxBASE+/Mac                                     4.5 mice
  961. Panorama                                         4.5 mice
  962. Adobe Type Manager                                 4 mice
  963. LetraStudio                                        4 mice
  964. TypeAlign                                        4.5 mice
  965. PageMaker                                          5 mice
  966. QuarkXPress                                      4.5 mice
  967. Aldus Persuasion                                   5 mice
  968. PowerPoint                                         4 mice
  969. Interactive Physics                                5 mice
  970. Crystal Quest                                      5 mice
  971. Dark Castle                                        5 mice
  972. SimCity                                            4 mice
  973. atOnce!                                          4.5 mice
  974. Insight                                          4.5 mice
  975. Plains & Simple                                    4 mice
  976. Timeslips III                                    4.5 mice
  977. MacInTax                                           5 mice
  978. MacMoney                                           4 mice
  979. Quicken                                            5 mice
  980. PictureBase                                      4.5 mice
  981. SmartScrap and The Clipper                       4.5 mice
  982. Ashlar Vellum                                    4.5 mice
  983. MGMS: Professional CAD for Macintosh               4 mice
  984. VersaCAD                                           4 mice
  985. Adobe Illustrator 88                             4.5 mice
  986. Canvas                                             5 mice
  987. MacPaint                                         3.5 mice
  988. Studio/8                                           5 mice
  989. Swivel 3D                                          5 mice
  990. Macintosh Portable                                 4 mice
  991. Radius Two Page Display                            4 mice
  992. Focus S800GS                                       4 mice
  993. CrystalPrint Publisher                           4.5 mice
  994. PLP II                                             5 mice
  995. QMS Colorscript 100                                4 mice
  996. MacinStor 90                                     4.5 mice
  997. HyperCard                                          4 mice
  998. MacroMind Director                                 5 mice
  999. Alchemy                                            5 mice
  1000. ConcertWare+                                       4 mice
  1001. Practica Musica                                    5 mice
  1002. Studio Session                                   4.5 mice
  1003. DeltaGraph                                         5 mice
  1004. MacSpin                                            4 mice
  1005. SuperANOVA                                       4.5 mice
  1006. Mathematica                                      4.5 mice
  1007. Theorist                                           5 mice
  1008. Acta Advantage                                   4.5 mice
  1009. KeyPlan                                            4 mice
  1010. FEdit Plus                                         3 mice
  1011. Acknowledge                                      4.5 mice
  1012. Macintosh Allegro Common LISP                      5 mice
  1013. THINK C                                          4.5 mice
  1014. TML (MacLanguage Series) Pascal II                 5 mice
  1015. Freedom of Press                                   4 mice
  1016. QuicKeys                                           4 mice
  1017. Suitcase II                                        5 mice
  1018. Virtual 2.0                                        5 mice
  1019. Retrospect                                       4.5 mice
  1020. CanOpener                                        4.5 mice
  1021. Findswell                                          5 mice
  1022. SAM (Symantec AntiVirus for Macintosh)             5 mice
  1023. OmniPage                                           4 mice
  1024. Spellswell                                       4.5 mice
  1025. WorksPlus Spell                                  4.5 mice
  1026. Microsoft Word                                   4.5 mice
  1027.  
  1028.  
  1029. -- part contents for card part 27
  1030. ----- text -----
  1031. 15
  1032. 26
  1033. 27
  1034. 32
  1035. 33
  1036. 34
  1037. 35
  1038. 40
  1039. 43
  1040. 49
  1041. 53
  1042. 58
  1043. 68
  1044. 77
  1045. 90
  1046. 94
  1047. 101
  1048. 103
  1049. 109
  1050. 131
  1051. 132
  1052. 153
  1053. 165
  1054. 173
  1055. 179
  1056. 186
  1057. 190
  1058. 191
  1059. 193
  1060. 211
  1061. 215
  1062. 220
  1063. 223
  1064. 228
  1065. 243
  1066. 247
  1067. 256
  1068. 264
  1069. 267
  1070. 271
  1071. 300
  1072. 307
  1073. 330
  1074. 337
  1075. 338
  1076. 356
  1077. 384
  1078. 404
  1079. 411
  1080. 413
  1081. 432
  1082. 435
  1083. 440
  1084. 451
  1085. 454
  1086. 456
  1087. 457
  1088. 475
  1089. 494
  1090. 505
  1091. 518
  1092. 523
  1093. 527
  1094. 529
  1095. 542
  1096. 553
  1097. 556
  1098. 563
  1099. 575
  1100. 576
  1101. 579
  1102. 616
  1103. 630
  1104. 642
  1105. 645
  1106. 651
  1107.